snapshot: Port GtkActionBar
authorBenjamin Otte <otte@redhat.com>
Mon, 14 Nov 2016 20:43:24 +0000 (21:43 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 15 Nov 2016 16:48:45 +0000 (17:48 +0100)
gtk/gtkactionbar.c

index 3bf456ac63cda0d687a13ff6181247ae7ddeaa1d..4e739aab8d3fb9cfab50366fb1f740503a540f81 100644 (file)
@@ -199,19 +199,27 @@ gtk_action_bar_set_child_property (GtkContainer *container,
                                       value);
 }
 
-static GskRenderNode *
-gtk_action_bar_get_render_node (GtkWidget   *widget,
-                                GskRenderer *renderer)
+static gboolean
+gtk_action_bar_render (GtkCssGadget *gadget,
+                       GtkSnapshot  *snapshot,
+                       int           x,
+                       int           y,
+                       int           width,
+                       int           height,
+                       gpointer      data)
 {
-  GtkActionBarPrivate *priv = gtk_action_bar_get_instance_private (GTK_ACTION_BAR (widget));
-  GskRenderNode *node = gtk_css_gadget_get_render_node (priv->gadget, renderer, FALSE);
+  GTK_WIDGET_CLASS (gtk_action_bar_parent_class)->snapshot (gtk_css_gadget_get_owner (gadget), snapshot);
 
-  if (node == NULL)
-    return NULL;
+  return FALSE;
+}
 
-  gtk_container_propagate_render_node (GTK_CONTAINER (widget), renderer, node);
+static void
+gtk_action_bar_snapshot (GtkWidget   *widget,
+                         GtkSnapshot *snapshot)
+{
+  GtkActionBarPrivate *priv = gtk_action_bar_get_instance_private (GTK_ACTION_BAR (widget));
 
-  return node;
+  gtk_css_gadget_snapshot (priv->gadget, snapshot);
 }
 
 static void
@@ -297,7 +305,7 @@ gtk_action_bar_class_init (GtkActionBarClass *klass)
   widget_class->show = gtk_action_bar_show;
   widget_class->hide = gtk_action_bar_hide;
   widget_class->destroy = gtk_action_bar_destroy;
-  widget_class->get_render_node = gtk_action_bar_get_render_node;
+  widget_class->snapshot = gtk_action_bar_snapshot;
   widget_class->size_allocate = gtk_action_bar_size_allocate;
   widget_class->measure = gtk_action_bar_measure_;
 
@@ -350,7 +358,7 @@ gtk_action_bar_init (GtkActionBar *action_bar)
                                                      gtk_action_bar_measure,
                                                      gtk_action_bar_allocate,
                                                      NULL,
-                                                     NULL,
+                                                     gtk_action_bar_render,
                                                      NULL,
                                                      NULL);
 }